﻿#region << 版 本 注 释 >>
/*----------------------------------------------------------------
 * 修改人：
 * 时间：
 * 修改说明：
 *----------------------------------------------------------------*/
#endregion << 版 本 注 释 >>using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using seejee_Backendium.Core.Models;

namespace seejee_Backendium.Core.Interfaces
{
    public interface ICharSaveService
    {
        // 保存主配置
        Task<int> SaveBIMainTableAsync(string name, string createdAt, string BIMainTableId, string BackgroundColor,int iCusID);

        // 保存容器（支持嵌套）
        Task<int> SaveContainerAsync(
            DashboardContainerDto container,
            int mainTableId,
            int? parentContainerId = null);

        // 保存翻牌器子项
        Task SaveFlipNumberAsync(
            DashboardItemDto item,
            int containerId,
            int mainTableId,
            int sort);

        // 保存折线图子项
        Task SaveLineChartAsync(
            DashboardItemDto item,
            int containerId,
            int mainTableId,
            int sort);

        // 保存柱状图子项
        Task SaveBarChartAsync(
            DashboardItemDto item,
            int containerId,
            int mainTableId,
            int sort);

        // 保存表格子项
        Task SaveTableAsync(
            DashboardItemDto item,
            int containerId,
            int mainTableId,
            int sort);

        // 保存圆饼图子项
        Task SavePieChartAsync(
            DashboardItemDto item,
            int containerId,
            int mainTableId,
            int sort);

        // 保存环形图子项
        Task SaveRingChartAsync(
            DashboardItemDto item,
            int containerId,
            int mainTableId,
            int sort);

        // 保存文本组件
        Task SaveTextAsync(
            DashboardItemDto item,
            int containerId,
            int mainTableId,
            int sort);

        // 获取视图名，并查找这个视图是否存在
        Task<int> SaveBeforeSelectByName(string name);

        // 获取配置
        Task<DashboardConfigDto> GetConfigAsync(int mainTableId);
    }
}
